package com.OA.dao;

import java.util.List;
import java.util.Map;

import com.OA.entity.*;
import com.OA.util.Page;

public interface Log_CY_mapper {

	/**
	 * 加载这个用户所有的日志信息
	 * @param userId
	 * @return
	 */
	List<Log> loadAllMyLogById(Map map);
	
	/**
	 * 加载日志的所有类型
	 * @return
	 */
	List<LogType> loadLogType();
	
	/**
	 * 加载部门名称
	 * @return
	 */
	List<DepartMentName> loadDepartmentName();
	
	/**
	 * 加载用户本人的日志数量
	 * @param userId
	 * @return
	 */
	int logCountOfMy(Map map);
	
	/**
	 * 加载该用户所有能看的其他用户的日志
	 * @param userId
	 * @return
	 */
	List<Log> loadOtherCanSee(Map map);
	
	/**
	 * 加载用户可以查看其他用户的日志数量
	 * @param userId
	 * @return
	 */
	int logCountCanSee(Map map);
	
	/**
	 * 根据日志Id加载日志的内容
	 * @param logId
	 * @return
	 */
	Log loadLogById(int logId);
	
	/**
	 * 加载日志的评论
	 * @param map
	 * @return
	 */
	List<LogComment> loadComments(Map map);
	
	/**
	 * 提交评论
	 * @param map
	 */
	void commitComment(Map map);
	
	/**
	 * 加载日志的评论数量
	 * @param logId
	 * @return
	 */
	int commentCount(int logId);
	
	/**
	 * 展示这个日志可以查看的用户
	 * @param logId
	 * @return
	 */
	List<Log> log_permissionUser(int logId);
	
	/**
	 * 展示没有权限查看这个日志的用户id集合
	 * @param logId
	 * @return
	 */
	List<Integer> log_permissionOutUser(int logId);
	
	/**
	 * 根据用户Id去查询用户姓名和用户所属部门
	 * @param userId
	 * @return
	 */
	UserDept_Vo userDept(int userId);
}
